 :root{
    /* Color tokens (from Figma) */
    --accent:#fcbf00;            /* primary CTA / gold */
    --accent-press:#e3ab00;
    --ink:#101828;               /* Gray 900 */
    --ink-strong:#161616;
    --gray-700:#344054;
    --gray-600:#475467;          /* body copy */
    --gray-500:#667085;
    --gray-300:#d0d5dd;          /* borders */
    --gray-100:#f2f4f7;
    --white:#ffffff;
    --off-white:#f6f6f6;
    --shadow-xs:0 1px 2px 0 rgba(16,24,40,.05);
    --shadow-md:0 8px 24px -6px rgba(16,24,40,.16),0 2px 6px -2px rgba(16,24,40,.08);
    --radius:8px;
    --maxw:1280px;
    --nav-h:110px;
    font-family:"Inter",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  }

  *,*::before,*::after{box-sizing:border-box}
  html{scroll-behavior:smooth}
  body{
    margin:0;background:var(--white);color:var(--ink);
    -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;
    line-height:1.5;
  }

  a{
    color:inherit;
    text-decoration:none;
    display:inline-block;
    min-width: 44px;
    min-height: 44px;
  }

  .wrap{max-width:var(--maxw);margin-inline:auto;padding-inline:clamp(20px,5vw,80px)}

  /* ---------- Buttons ---------- */
  .btn{
    display:inline-flex;align-items:center;justify-content:center;gap:8px;
    font-weight:600;font-size:16px;line-height:24px;cursor:pointer;
    border-radius:var(--radius);padding:14px 18px;border:1px solid transparent;
    box-shadow:var(--shadow-xs);transition:transform .12s ease,background .18s ease,box-shadow .18s ease;
    white-space:nowrap;
  }
  .btn:active{transform:translateY(1px)}
  .btn-primary{background:var(--accent);color:var(--ink-strong)}
  .btn-primary:hover{background:var(--accent-press)}
  .btn-ghost{background:var(--white);color:var(--gray-700);border-color:var(--gray-300)}
  .btn-ghost:hover{background:var(--gray-100)}
  .btn-outline-light{background:transparent;color:var(--white);border:2px solid rgba(255,255,255,.8)}
  .btn-outline-light:hover{background:rgba(255,255,255,.12)}
  .btn .ico{width:20px;height:20px;flex:none}

  /* ---------- Navigation ---------- */
  .nav{
    position:sticky;top:0;z-index:50;background:var(--white);
    border-bottom:10px solid var(--accent);
    box-shadow:0 1px 12px -6px rgba(16,24,40,.14);
  }
  .nav-inner{
    max-width:1440px;margin-inline:auto;height:var(--nav-h);
    display:flex;align-items:center;gap:24px;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    padding-inline:clamp(20px,6vw,95px);
  }
  .brand{display:flex;align-items:center;gap:10px}
  .brand .logo{height:46px;width:auto;display:block}
  .nav-menu{display:flex;align-items:center;gap:4px;margin-inline:auto}
  .nav-menu a{
    font-weight:500;font-size:16px;color:var(--gray-700);
    padding:10px 16px;border-radius:6px;position:relative;
    text-decoration: none !important;
  }
  .nav-menu a::after{
    content:"";position:absolute;left:16px;right:16px;bottom:6px;height:2px;
    background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform .2s ease;
  }
  .nav-menu a:hover{color:var(--ink)}
  .nav-menu a:hover::after{transform:scaleX(1)}
  .nav-actions{display:flex;align-items:center;gap:16px}
  .lang-btn{
    display:inline-flex;align-items:center;gap:8px;height:48px;padding:0 14px;
    border:1px solid var(--gray-600);border-radius:var(--radius);background:var(--white);
    font-weight:500;font-size:15px;color:var(--ink-strong);cursor:pointer;
  }
  .lang-btn:hover{background:var(--gray-100)}
  .lang-btn svg{width:18px;height:18px}
  .icon-btn{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border:none;background:transparent;cursor:pointer;color:var(--ink-strong);border-radius:8px}
  .icon-btn:hover{background:var(--gray-100)}
  .nav-toggle{display:none}
  .nav-toggle .bars{position:relative;display:block;width:22px;height:16px}
  .nav-toggle .bars i{
    position:absolute;left:0;right:0;height:2.4px;border-radius:2px;background:currentColor;
    transition:transform .3s ease,opacity .18s ease,top .3s ease;
  }
  .nav-toggle .bars i:nth-child(1){top:0}
  .nav-toggle .bars i:nth-child(2){top:6.8px}
  .nav-toggle .bars i:nth-child(3){top:13.6px}
  .nav-toggle.open .bars i:nth-child(1){top:6.8px;transform:rotate(45deg)}
  .nav-toggle.open .bars i:nth-child(2){opacity:0}
  .nav-toggle.open .bars i:nth-child(3){top:6.8px;transform:rotate(-45deg)}

  /* ---------- Hero ---------- */
  .hero{
    position:relative;min-height:564px;display:flex;align-items:center;
    color:var(--white);overflow:hidden;
    background:linear-gradient(120deg,#1c3f5e 0%,#2f6d8c 55%,#3a7d63 100%);
  }

  .hero-bg{position:absolute;inset:0;z-index:0}

.hero-slider {
  position: relative;
  overflow: hidden;
  width: 100%;
}

/* Base slide positioning */
.hero-slide {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  /* Move incoming slides completely off-screen to the left */
  transform: translateX(-100%); 
  transition: transform 0.6s ease-in-out;
  will-change: transform;
}

/* Active slide resting position */
.hero-slide.active {
  transform: translateX(0);
}

/* Previous slide exits to the right */
.hero-slide.exit-right {
  transform: translateX(100%);
}


  @media (prefers-reduced-motion:reduce){
    .hero-slider .slide{transition:none}
    .hero-slider .slide:not(.is-active){display:none}
  }
  .hero::after{content:"";position:absolute;inset:0;z-index:1;
    background:linear-gradient(90deg,rgba(9,17,28,.72) 0%,rgba(9,17,28,.45) 45%,rgba(9,17,28,.15) 100%);}
  .hero .wrap{position:relative;z-index:2;width:100%;padding-block:120px 96px}
  .hero h1{
    margin:0;font-weight:600;letter-spacing:-1.2px;line-height:1.05;
    font-size:clamp(38px,6vw,60px);max-width:14ch;
  }
  .hero p.lede{margin:16px 0 0;font-weight:500;font-size:clamp(17px,2.2vw,20px);max-width:44ch;color:rgba(255,255,255,.92)}
  .hero-cta{display:flex;flex-wrap:wrap;gap:16px;margin-top:36px}

  /* ---------- Section scaffolding ---------- */
  section.feature{padding-block:clamp(64px,9vw,96px)}
  .band-tint{background:var(--off-white)}

  .quote-block{max-width:768px;margin-inline:auto;text-align:center}
  .quote-block h2{
    margin:0;font-weight:600;letter-spacing:-.72px;color:var(--ink);
    font-size:clamp(26px,4vw,36px);line-height:1.22;
  }
  .quote-block p{margin:20px 0 0;font-size:clamp(17px,2.2vw,20px);line-height:1.5;color:var(--gray-600)}

  /* Media wells */
  .media{
    position:relative;border-radius:14px;overflow:hidden;background:#1f2e3d;
    box-shadow:var(--shadow-md);aspect-ratio:16/9;
  }
  .media::before{content:"";position:absolute;inset:0;
    background:linear-gradient(135deg,#274a63 0%,#356b57 100%);}
  .media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
  .media .veil{position:absolute;inset:0;background:rgba(0,0,0,.18)}
  .play{
    position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:3;
    display:inline-flex;align-items:center;gap:8px;
    padding:11px 18px;border-radius:var(--radius);
    background:rgba(0,0,0,.28);color:var(--white);font-weight:600;font-size:16px;
    border:2px solid rgba(255,255,255,.85);backdrop-filter:blur(2px);cursor:pointer;
    transition:background .18s ease;
  }
  .play:hover{background:rgba(0,0,0,.45)}
  .play svg{width:20px;height:20px}
  .play.sm{padding:8px 12px;font-size:14px;gap:6px}
  .play.sm svg{width:16px;height:16px}

  /* Centered hero video (section 1) */
  .hero-media{max-width:996px;margin:56px auto 0;position:relative}
  .hero-media .media{aspect-ratio:996/523;border-radius:20px}

  /* Two-column feature */
  .split{
    display:grid;grid-template-columns:1fr 1fr;gap:clamp(40px,6vw,96px);align-items:center;
  }
  .split.media-left .col-text{order:2}
  .split.media-left .col-media{order:1}
  .col-text h2{
    margin:0;font-weight:600;color:var(--ink);letter-spacing:-.4px;
    font-size:clamp(24px,3.4vw,30px);line-height:1.27;
  }
  .col-text p{margin:16px 0 0;font-size:18px;line-height:1.56;color:var(--gray-600);max-width:52ch}

  /* media stack: 1 large + 2 small */
  .media-stack{display:flex;flex-direction:column;gap:24px}
  .media-stack .row{display:grid;grid-template-columns:1fr 1fr;gap:24px}
  .media-stack .media.large{aspect-ratio:472/225}
  .media-stack .media.small{aspect-ratio:224/130}

  /* ---------- Footer ---------- */
  footer{background:#000;color:#fff;font-family:"Roboto","Inter",system-ui,sans-serif;text-align:center}
  .footer-top{max-width:1200px;margin-inline:auto;padding:20px 20px 30px}
  .footer-top .contact-us{
    margin-top:10px;
    display:inline-block;font-size:14px;letter-spacing:.2em;color:#fff;
    padding-bottom:2px;
  }
  .footer-top .contact-us:hover{border-bottom-color:#fff}
  .footer-top .follow{margin-top:20px;font-size:14px;letter-spacing:.2em;color:#fff}
  .socials{display:flex;justify-content:center;gap:13px;margin-top:20px}
  .socials a{
    width:40px;height:40px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;
    color:#fff;transition:color .18s ease,transform .18s ease;
  }
  .socials a:hover{color:var(--accent);transform:translateY(-2px)}
  .socials svg{width:20px;height:20px}
  .footer-links,.footer-legal{
    display:flex;flex-wrap:wrap;justify-content:center;align-items:center;
    gap:6px 24px;font-size:16px;color:#fff;padding-inline:20px;
  }
  .footer-links{padding-top:2px}
  .footer-legal{padding:8px 20px 20px}
  .footer-links a:hover{color:var(--accent)}

  /* ---------- Responsive ---------- */
  @media (max-width:1024px){
    :root{--nav-h:84px}
    .nav-menu{display:none}
    .nav-actions{margin-left:auto}
    .nav-actions .lang-btn,.nav-actions>.icon-btn:not(.nav-toggle){display:none}
    .nav-toggle{display:inline-flex}
    .split{grid-template-columns:1fr;gap:32px}
    .split.media-left .col-text,.split.media-left .col-media{order:initial}
    .col-text p{max-width:none}
  }
  @media (max-width:640px){
    .hero{align-items:flex-end;text-align:center;min-height:min(84vh,600px)}
    .hero::after{background:linear-gradient(to top,rgba(9,17,28,.86) 6%,rgba(9,17,28,.42) 46%,rgba(9,17,28,.06) 100%)}
    .hero .wrap{padding-block:0 40px}
    .hero h1{max-width:none}
    .hero p.lede{max-width:40ch;margin-inline:auto}
    .hero-cta{justify-content:center;margin-top:26px}
    .hero-cta .btn{flex:1 1 auto}
    .media-stack .row{grid-template-columns:1fr 1fr}
  }

  /* Mobile menu drawer (animated dropdown) */
  @media (max-width: 1024px) {
  #google_translate_element_holder_web {
    display: none !important;
  }
}

  .mobile-menu{
    position:absolute;left:0;right:0;top:100%;background:var(--white);
    border-bottom:3px solid var(--accent);
    box-shadow:0 22px 34px -14px rgba(16,24,40,.22);
    overflow:hidden;max-height:0;opacity:0;visibility:hidden;
    transition:max-height .36s cubic-bezier(.4,0,.2,1),opacity .26s ease,visibility .36s;
  }
  .mobile-menu.open{max-height:70vh;opacity:1;visibility:visible}
  .mobile-menu a{
    display:block;padding:16px clamp(20px,6vw,40px);font-weight:600;font-size:17px;
    color:var(--gray-700);border-bottom:1px solid var(--gray-100);
  }
  .mobile-menu a:hover,.mobile-menu a:focus-visible{background:var(--gray-100);color:var(--ink)}
  .mobile-menu .m-actions{display:flex;gap:12px;padding:28px clamp(20px,6vw,40px)}
  .mobile-menu .m-actions .lang-btn{flex:1;justify-content:center}
  .mobile-menu .m-actions .icon-btn{border:1px solid var(--gray-300)}

  @media (prefers-reduced-motion:reduce){
    *{animation:none!important;transition:none!important;scroll-behavior:auto!important}
  }

  /* ---------- Scroll reveal (Framer-style appear on scroll) ---------- */
  .js [data-reveal] .r{
    opacity:0;transform:translateY(30px);will-change:opacity,transform;
    transition:opacity .72s cubic-bezier(.22,.61,.36,1),transform .72s cubic-bezier(.22,.61,.36,1);
    transition-delay:calc(var(--i,0) * 90ms);
  }
  .js [data-reveal].in .r{opacity:1;transform:none}
  @media (prefers-reduced-motion:reduce){
    .js [data-reveal] .r{opacity:1!important;transform:none!important;transition:none!important}
  }
  :focus-visible{outline:3px solid var(--accent);outline-offset:2px;border-radius:4px}

  /* ==================== HOMEPAGE HERO ==================== */
  .hp-hero{
    position:relative;background:#004a98;overflow:hidden;
    min-height:640px;display:flex;flex-direction:column;
  }
  .hp-hero__photo{position:absolute;inset:0;z-index:0}
  .hp-hero__photo img{width:100%;height:100%;object-fit:cover;object-position:center 58%}
  .hp-hero__overlay{
    position:absolute;inset:0;z-index:1;mix-blend-mode:multiply;pointer-events:none;
    background:linear-gradient(-2.57deg,rgba(255,255,255,.6) 46.4%,rgba(0,0,0,.6) 83.1%);
  }
  .hp-hero__inner{
    position:relative;z-index:2;width:100%;max-width:1216px;margin-inline:auto;
    padding:clamp(56px,10vw,120px) clamp(20px,7vw,112px) 0;
  }
  .hp-hero__title{
    margin:0;color:#fff;font-weight:700;letter-spacing:-.96px;line-height:1;
    font-size:clamp(46px,8.5vw,80px);text-shadow:0 2px 18px rgba(0,0,0,.28);
  }
  /* quick-link card row */
  .hp-quick{
    position:relative;z-index:2;margin-top:auto;
    display:flex;flex-wrap:wrap;gap:10px;justify-content:center;
    width:100%;max-width:1216px;margin-inline:auto;
    padding:32px clamp(16px,4vw,40px) 40px;
  }
  .qcard{
    width:200px;border-radius:16px;overflow:hidden;display:block;
    box-shadow:0 12px 26px -14px rgba(0,0,0,.55);
    transition:transform .16s ease,box-shadow .16s ease;
  }
  .qcard:hover{transform:translateY(-4px);box-shadow:0 18px 30px -14px rgba(0,0,0,.6)}
  /* Disable hover on plan your trip page for the input form section */
  #planYourTrip:hover {
    pointer-events: none;
  }
  .qcard__head{
    background:#fff;border-bottom:4px solid var(--accent);
    height:56px;padding:6px 8px;color:#101828;
    display:flex;align-items:center;justify-content:center;text-align:center;
    font-weight:600;font-size:16px;line-height:1.12;
  }
  .qcard__body{
    position:relative;
    background:rgba(255,255,255,.6);
    height:110px;display:flex;align-items:center;justify-content:center;
  }
  .qcard__body svg{width:52px;height:52px;color:#004a98}
  .qcard__hea{
    position:absolute;left:0;right:0;bottom:10px;text-align:center;
    font-weight:700;font-size:13px;color:#004a98;letter-spacing:.02em;
  }

  /* ==================== FEATURES ==================== */
  .features{background:var(--white);padding:clamp(48px,8vw,72px) clamp(20px,5vw,32px) clamp(64px,9vw,96px)}
  .features__grid{
    max-width:1360px;margin-inline:auto;
    display:flex;flex-wrap:wrap;gap:24px;justify-content:center;align-items:stretch;
  }
  .fcard{
    background:#f9fafb;border-radius:16px;padding:24px;width:246px;min-height:366px;
    display:flex;flex-direction:column;align-items:center;gap:28px;text-align:center;
    transition:box-shadow .18s ease,transform .18s ease;
  }
  .fcard:hover{box-shadow:var(--shadow-md);transform:translateY(-3px)}
  .fcard__icon{
    width:48px;height:48px;border-radius:10px;background:#004a98;color:#fff;flex:none;
    display:flex;align-items:center;justify-content:center;
  }
  .fcard__icon svg{width:26px;height:26px}
  .fcard__logo{height:48px;display:flex;align-items:center;justify-content:center;flex:none}
  .fcard__logo img{height:100%;width:auto;object-fit:contain}
  .fcard__body{display:flex;flex-direction:column;gap:20px;width:100%;flex:1}
  .fcard__title{
    margin:0;font-weight:600;font-size:20px;line-height:1.5;color:#101828;
    min-height:60px;display:flex;align-items:center;justify-content:center;
  }
  .fcard__text{margin:0;font-weight:400;font-size:1em;line-height:1.5;color:#475467}
  .fcard__link{
    display:flex;align-items:center;justify-content:flex-end;gap:6px;margin-top:auto;
    font-weight:700;font-size:14px;color:#004a98;
  }
  .fcard__link svg{width:16px;height:16px;transition:transform .16s ease}
  .fcard:hover .fcard__link svg{transform:translateX(3px)}

  @media (max-width:900px){
    .fcard{width:min(46%,320px)}
  }
  @media (max-width:640px){
    .hp-hero{min-height:540px}
    .hp-quick{gap:8px}
    .qcard{width:min(45%,168px)}
    .fcard{width:100%;max-width:360px}
  }
  
  
/* 
    Google Translate dropdown.
*/
#google-translate-box {
    padding-top: 9px;
    padding-left: 5px;
    padding-right: 5px;
    background-color: transparent;
}

#google_translate_element div.goog-te-gadget-simple {
    background-color: transparent;
    border-top: 1px solid LightSteelBlue;
    border-right: 1px solid LightSteelBlue;
    border-bottom: 1px solid White;
    border-left: 1px solid White;
}

#google_translate_element div.goog-te-gadget-simple a.goog-te-menu-value span {
    /*color: black;*/
    color: SlateGray;
    font-family: Helvetica, Arial, sans-serif;
    font-weight: bold;
}

#google_translate_element div.goog-te-gadget-simple a.goog-te-menu-value span:hover {
    /*color: black;*/
    color: #320;
}


#google_translate_element{
    color: #000 !important; /* Forces text to black for better contrast */
   
}

#google_translate_element span{
    color: #000 !important; /* Forces dropddown to black for better contrast */
}

/* 1. Container reset for Google's injected gadget box */
#google_translate_element .goog-te-gadget-simple {
    background-color: transparent !important;
    border: none !important;
    padding: 0 !important;
    margin: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    font-size: 12px !important;
    line-height: 1 !important;
    white-space: nowrap !important;
}

/* 2. Reset the 'Select Language' link & spans inside */
#google_translate_element .goog-te-gadget-simple a,
#google_translate_element .goog-te-gadget-simple span,
#google_translate_element .goog-te-gadget-simple img {
    display: inline-flex !important;
    align-items: center !important;
    vertical-align: middle !important;
    color: #334155 !important; /* slate-700 */
    font-size: 12px !important;
    font-weight: 600 !important;
    line-height: 1 !important;
    margin: 0 !important;
    padding: 0 2px !important;
}

/* 3. Give small breathing room for the globe icon and dropdown arrow */
#google_translate_element .goog-te-gadget-icon {
    margin-right: 4px !important;
    vertical-align: middle !important;
}

/* 4. Fix vertical position of arrow icon */
#google_translate_element .goog-te-gadget-simple span[aria-hidden="true"] {
    margin-left: 4px !important;
    font-size: 10px !important;
}


/*This allows FarePassNew.asp to fit vertically on screen.*/
.content-wrapper{
     min-height: 60vh !important;
}

/*Adds a yellow bar to the cards except for the page containers*/
.row .card{
  background-color: #ffffff;
  border-radius: 8px;
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
  /* The colored top line */
  border-top: 10px solid #fcbf00; /* Width, style, and color */
}

.card-link{
    height:150px;
}

.card-body.pt-0 {
  flex-grow: 0 !important;
}

.row .card-trip{

  background-color: #ffffff;
  border-radius: 8px;
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
  /* The colored top line */
  border-top: 10px solid #174ea6; /* Width, style, and color */
  display: flex;
  justify-content: center; /* Centers horizontally */
  align-items: center;     /* Centers vertically */
  text-align: center;      /* Fallback for inline elements */
}

.card:not(.bg-light) {
    border-top: 1px solid rgba(0, 0, 0, 0.125); /* Restores standard border */
}

/* Remove border from all card headers */
.card-header {
    border-bottom: none !important;
    text-align: center;
    font-size: 1.3em;
}

/* OR, more specifically if you have a unique class on that card */
.card-header {
    border-bottom: 0;
}


.img-card{
    height: 24px; 
    width: auto; 
    object-fit: contain; 
    margin-top:-100px;
}

 @media only screen and (max-width:1000px){
    .img-card{
        min-height: 34px !important; 
        width: auto; 
        object-fit: contain; 
        margin-top:5px;
        margin-left: -40px;
    }
    .card-rider-alert{
        text-align: left;
    }
 }

 span.cardSpan {
  text-decoration: none;
}

#secondRow a {
  text-decoration: none;
}

.link-text {
  text-decoration: none;
}

#google-translate-box, 
select {
  border: 1px solid #d1d5db;      /* Soft grey border */
  border-radius: 20px;            /* Smooth rounded corners */
  padding: 8px 16px;              /* Comfortable spacing inside */
  background-color: #ffffff;      /* Clean background */
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05); /* Subtle depth */
  font-family: inherit;
  font-size: 14px;
  color: #374151;
  cursor: pointer;
  outline: none;
  transition: all 0.2s ease-in-out;
}

/* Optional hover and focus states for interactivity */
select:hover {
  border-color: #9ca3af;
}

select:focus {
  border-color: #2563eb;
  box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.2);
}

.notice{
  margin-top:30px;
}

/* Contact Us Modal */
.card-grid {
      display: grid;
      grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
      gap: 1.5rem;
      width: 100%;
      max-width: 1100px;
    }

    .icon-wrapper {
      background-color: var(--primary-light);
      color: var(--primary);
      padding: 0.875rem;
      border-radius: 0.75rem;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      margin-bottom: 1.25rem;
      transition: background-color 0.25s ease, color 0.25s ease;
    }

    /* Header Contact Us Modal */
    /* Container for the cards */
#contactUsModal .hp-quick {
    display: flex;
    flex-wrap: wrap;
    width:auto;
    justify-content: center;
    gap: 15px;
    transition: all 0.3s ease;
}

/* Base style for the cards */
#contactUsModal .qcard {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 20px;
    border: 1px solid #ddd;
    border-radius: 8px;
    text-decoration: none;
    color: #333;
    background: #fff;
    transition: all 0.3s ease;
}

#contactUsModal a {
    color:blue;
    text-decoration:underline;
}


#contactUsModal .qcard__head {
    font-weight: bold;
    text-align: center;
    margin-bottom: 10px;
    background: transparent;
}

/* State when any card is clicked */
#contactUsModal.is-active .hp-quick {
    display: flex !important;
    justify-content: space-between;
    border-bottom: 1px solid #dee2e6;
    gap: 0;
}

#contactUsModal.is-active .qcard {
    padding: 10px;
    background: #f8f9fa;
}

#contactUsModal.is-active .qcard .qcard__body {
    display: none !important; /* Hides icons */
}

#contactUsModal.is-active .qcard.selected {
    background: #fff;
    font-weight: bold;
    color: #007bff;
    border-bottom: 2px solid #007bff;
}

/* Hidden detail section */
#contact-details-section {
    display: none;
    padding: 20px;
    animation: fadeIn 0.4s ease;
}

@keyframes fadeIn {
    from { opacity: 0; transform: translateY(10px); }
    to { opacity: 1; transform: translateY(0); }
}

#contactUsModal .btn:not(:disabled):not(.disabled) {
  display: block;
  margin-left: auto;
  margin-right: auto;
}

#contactUsModal .addressBox{
  background-color: #fff3cd; 
  border-left: 6px solid #facc42; 
  padding: 15px;
}

/* Plan your trip page */
/* 1. Fix the Card and Body Overflow */
#planYourTrip .qcard {
  background: #ffffff;
  border-radius: 8px;
  box-shadow: 0 2px 10px rgba(0,0,0,0.1);
  margin-bottom: 20px;
  overflow: hidden;
  width: 100%;
}

#planYourTrip .qcard__body {
  height: auto !important; /* Remove fixed 110px height */
  min-height: min-content;
  padding: 20px;
}

/* 2. Fix the Form Layout (Vertical Stack) */
#gForm {
  display: flex;
  flex-direction: column;
  gap: 15px;
  width: 100%;
}

#gForm > div {
  width: 100% !important;
  flex: none !important; /* Remove rigid flex-basis like 400px */
}

/* 3. Stack the Google Maps link under the Heading */
#planYourTrip .qcard__head {
  display: flex;
  flex-direction: column; /* Forces the link to a new line */
  gap: 8px;
  padding: 15px 20px;
  height: 200px;
}

/* 4. Style the Google Maps Element inside the Header */
#planYourTrip .qcard__head a[href*="google.com/transit"] {
  display: inline-flex;
  align-items: center;
  text-decoration: none;
  font-size: 0.9em;
  background: #f8f9fa;
  padding: 6px 12px;
  border-radius: 20px;
  border: 1px solid #dee2e6;
  color: #4285F4;
}

/* Rider Alerts page */
/* Ensure the anchor doesn't collapse the card */
a:has(> .card) {
  display: block;
  text-decoration: none;
  color: inherit;
}

/* Restore the visual weight of the card */
.card.flex-fill {
  min-height: 70px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.col-lg-4 a {
  display: block;
  width: 100%;
}

.col-lg-4 .card {
  width: 100%;
  margin: 0;
}

#howtoride a, #rideTheBus a, #TransitMob a, #Routes > table:nth-child(3) > tbody > tr:nth-child(2) > td > span > a, #Routes > table:nth-child(3) > tbody > tr:nth-child(3) > td > span > a{
  color:blue;
}

/* FaresAndPasses.asp */
@media screen and (max-width: 600px) {
  div.WordSection1 {
    overflow-x: auto;
    display: block;
    width: 100%;
    max-width: 100vw;
  }


}

/* OurBus page */
@media screen and (max-width: 600px) {
  #videoIframe {
    width:100%;
    height:auto;
  }

  #ourBusVideo1 {
    width: 100%;
    height: auto;
  }

  #ourBusVideo2 {
    width: 100%;
    height: auto;
  }

  #ourBusVideo4{
    width: 100%;
    height: auto;
  }

}

@media screen and (min-width: 600px) {
  #videoIframe {
    width:900;
    height:507;
  }

  #ourBusVideo1 {
    width:900;
    height:507;
  }

  #ourBusVideo2 {
    width: 560;
    height: 315;
  }

  #ourBusVideo4{
    width:560;
    height:315;
  }

}

/* Routes Page */

@media (max-width: 600px) {
    #RoutesMenuTable {
        width: 100%;
        table-layout: auto;
        border-collapse: collapse;
    }
}
